嗨~~各位勇者,昨天本來預計把matrix寫完,之後才發現還有好幾個部分沒談到,因此把上一篇改成(中)篇,這次就真的是(下)篇了。好啦~Let the journey begin!
"恩君,昨天你整理的資料非常好阿~果然大有長進阿" 叔叔開心的說著
"但假如叔叔想要找特定的資料,比如藥水在卡恩村的收入有多少,要是一筆一筆找可真會累壞我阿"
沒問題的,讓我們首先先把前幾天的資料做成矩陣,順便複習一下
potion <- c(251, 542, 982, 112)
armor <- c(234, 321, 121, 872)
weapon <- c(92, 55, 66, 125)
misc <- c(542, 685, 512, 393)
Sales_vector <- rbind(potion, armor, weapon, misc)
place <- c("朱拉大森林", "卡恩村", "魔導國", "邊境小鎮")
colnames(Sales_vector) <- place
Sales_vector
朱拉大森林 卡恩村 魔導國 邊境小鎮
potion 251 542 982 112
armor 234 321 121 872
weapon 92 55 66 125
misc 542 685 512 393
還記得我們在vector單元的時候用了中括號[]來選要的或不要的數值,同樣的也可以用在矩陣上
先試試把在卡恩村的藥水收入取出來吧
Sales_vector["potion", "卡恩村"]
[1] 542
我們也可以用數字來代替row和column,一樣可以得到要的數值
以(1, 2)來舉列這就代表第一橫行和第二直排
"等等恩君,叔叔資料拿錯了,為了世界的和平,叔叔現在不賣武器和防具了,所以武器和防具是舊資料,要剃除阿"
"還有叔叔還要另一份表格,只要卡恩村及魔導國的銷售表,要給安茲大人的!"
如果需要多個數值,首先叔叔只要potion和misc橫行的部分可以放入c()來做,直排其他部分保留留白就可以了
Sales_vector[c("potion", "misc"), ]
朱拉大森林 卡恩村 魔導國 邊境小鎮
potion 251 542 982 112
misc 542 685 512 393
給安茲大人的報表,同樣用Sales_vector來做,橫行把要的物品放入c(),直排把地區也放入c()
Sales_vector[c("potion", "misc"), c("卡恩村", "魔導國")
卡恩村 魔導國
potion 542 982
misc 685 512
"對了忘記提到進入各個城鎮及森林都必須收過路費,還有還有,各國都要再抽取10%稅金!"
沒問題,首先把過路費輸入進去,這邊我們還是保留武器和防具的資料
朱拉大森林要30金,卡恩村要20金,魔導國要80金,邊境小鎮要10金
做成矩陣後相減,在直接乘10%,就可以知道稅金和最後實際的收入了
tolls <- matrix(c(30, 20, 60, 10), nrow = 4, ncol = 4, byrow = TRUE)
[,1] [,2] [,3] [,4]
[1,] 30 20 60 10
[2,] 30 20 60 10
[3,] 30 20 60 10
[4,] 30 20 60 10
rev_vector <- Sales_vector - tolls
朱拉大森林 卡恩村 魔導國 邊境小鎮
potion 221 522 922 102
armor 204 301 61 862
weapon 62 35 6 115
misc 512 665 452 383
rev_vector * 0.1
朱拉大森林 卡恩村 魔導國 邊境小鎮
potion 22.1 52.2 92.2 10.2
armor 20.4 30.1 6.1 86.2
weapon 6.2 3.5 0.6 11.5
misc 51.2 66.5 45.2 38.3
"注意到了嗎?在這邊,如果相減或相乘都是對應各個數值喔"
好了,矩陣的部分若有更多再從這三篇還補足吧,謝謝大家的收看,明天再繼續努力~